package com.guli.mall.pms.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.guli.common.utils.PageUtils;
import com.guli.mall.pms.entity.BrandEntity;
import com.guli.mall.pms.entity.vo.BrandAndCategoryIdVo;

import java.util.List;
import java.util.Map;

/**
 * 品牌
 *
 * @author 罗俊华
 * @email 1007052116@qq.com
 * @date 2020-09-17 11:37:23
 */
public interface BrandService extends IService<BrandEntity> {

    PageUtils<BrandEntity> queryPage(Integer currentPage,Integer size);

    void deleteLogoOfDbAndAliOss(Long brandId, String logoUrl);

    void deleteBatch(List<Long> brandIdList);

    /**
     * 更新brand表和其他冗余表
     * @param brand
     */
    void updateDetail(BrandEntity brand);

    PageUtils<BrandEntity> getBrandListPaginationByCategoryId(Integer currentPage, Integer size, Long categoryId);

    BrandEntity saveBrandAndBrandCategoryRelation(BrandAndCategoryIdVo brandAndCategoryIdVo);

    List<BrandEntity> getBrandByCondition(BrandAndCategoryIdVo brandAndCategoryIdVo);

    List<BrandEntity> getBrandListByCategoryIdList(List<Long> categoryIdList);

    List<BrandEntity> getBrandListByCategoryId(Long categoryId);
}

